package com.allin.mall.common.redis.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DistributedLock {

    /**
     * key前缀
     */
    String keyPrefix() default "mall";

    /**
     * key
     */
    String key() default "";

    /**
     *  持锁时间（秒）
     */
    long leaseTime() default 10;

    /**
     * 等待锁最大时间（秒）
     */
    long waitTime() default 5;
}
